A multi-tier computer system includes a plurality of computers organized to share the processing workload in a hierarchical way. Each tier accepts and executes a plurality of processes concurrently. Generally, the number of such concurrent processes (referred to herein as the “load”) may vary in a dynamic fashion within a previously specified load limit. For example, a load limit parameter designates the maximum number of processes that a tier is allowed to execute in parallel. The load of a tier may sometimes stick to a specific level designated by its load limit parameter. In any case, the servers are not allowed to increase their load levels beyond the given load limit of their tier. It is noted that the total processing performance of a multi-tier system is susceptible to what combination of load limit parameters is set to the tiers. For example, when too small a load limit parameter is given, the tier would become a bottleneck in the whole system and cause a performance degradation. It is therefore important to configure the tiers with proper load limit parameters.
One known method for determining appropriate load limit parameters is to run a series of repetitive benchmarks by using a load generation mechanism. For example, a server system is subjected to a process of throughput and response measurement in different load conditions to obtain a transaction density plot of the server system. See, for example, Japanese Laid-open Patent Publication No. 2004-302547.
The optimal load level for maximizing system performance depends sensitively on various conditions. While optimal load limit parameters may be obtained by using a conventional technique, there are still some disturbing factors that would hamper the system from exerting its full performance. For example, the processing time of jobs in a tier of the system may vary in a dynamic fashion. The rate of incoming processing requests may rise and drop drastically, thus placing a varying workload on the multi-tier system. In such cases, the use of relatively higher load limit parameters increases performance margin and thus enables stable operation of the system.
It is noted, however, that raising the load limit parameters too much will slow down the average response of the system. This is because the load may rise so much that the parallel processing loses its effectiveness, while the tier has to distribute its limited amount of hardware resources to an increased number of parallel processes. As a result, the response time may increase from 10 ms to 20 ms, for example. While the time length is twofold, the increase on this order does no harm to the end-user experience since most people would not perceive the difference. It is thus possible to increase the stability of the system by raising the server's load limit parameters above optimal values, as long as the response times can be controlled within an acceptable range.
The conventional techniques are, however, unable to find the upper bound of load limit parameters that keep the response times within an acceptable range. That is, it is practically difficult to determine to what extent the load limit parameters can be increased without sacrificing the response time of the system.